﻿
#define  _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<string.h>
#include<assert.h>
//char* my_strcpy(char* des, const char* src)
//{
//	char* ret = des;
//	assert(des && src);//注意头文件；
//	while (*des++ = *src++)//=
//	{
//		;
//	}
//	//*des = *src;
//	return ret;
//}
////c2040 错误  函数必须放前面；
//char* my_strcat(char* dest, const char* src)
//{
//	char* ret = dest;
//	assert(dest && src);
//	while (*dest)
//	{
//		dest++;
//	}
//	while (*dest++ = *src++)
//	{
//		;
//	}
//	return ret;
//}
////Compare two strings
//char* my_strcmp(char* str1,const char* str2)
//{
//	assert(str1 && str2);
//	while (*str1 == *str2)
//	{
//		if (*str1 == '\0')
//			return 0;
//		str1++;
//		str2++;
//	}
//	return *str1-*str2;
//}
////长度受限字符和长度不受限字符；
////tuo 1.strncpy strncat
////• 拷⻉num个字符从源字符串到⽬标空间。
////• 如果源字符串的⻓度⼩于num，则拷⻉完源字符串之后，在⽬标的后边追加0，直到num个。
////strstr-- Locate substring
//char* my_strstr(const char* str1, const char* str2)
//{
//	char* cp = (char*)str1;
//	char* s1;
//	char* s2;
//	while (*cp)
//	{
//		s1 = cp;
//		s2 = /*(char*)*/str2;//可以去除
//		while (*str1 && str2 && !(*str1 - *str2))//*str1-str2==0
//		{
//			s1++;
//			s2++;
//
//			if (!str2)
//			{
//				return cp;
//			}
//			
//		}
//		cp++;
//	}
//
//	return (NULL);
//}
//int main()
//{
//	//strcpy
//	char arr[40];
//	char arr3[40];
//	char arr1[] = "abcdef";
//	char arr2[] = "123456";
//	char arr4[40]="zxcz";
//	char arr5[20] = "abcdef";
//	char arr6[40] = "bcd";
//		my_strcpy(arr, arr1);
//		my_strcpy(arr3, "7586");
//		my_strcat(arr4, arr2);
//		printf("%s\n", arr);
//		printf("%s\n", arr3);
//		printf("%s\n", arr4);
//		my_strstr(arr5, arr6);
//		printf("%s\n", arr5);
//
//		return 0;
//}
//
//int main()
//{
//	char arr[] = "192.168.6.111";
//	char* sep = ".";// 注意指针数组 和数组指针的不同
//		char* str = NULL;
//		for (str=strtok(arr, sep);str != NULL;str=strtok(NULL, sep))
//		{
//			printf("%s\n",str);
//		}
//	return 0;
//}



//streeror-char * strerror ( int errnum );
//int main()
//{
//	int i = 0;
//	for (i = 0;i <= 10;i++)
//	{
//		printf("%s\n", strerror(i));
//	}
//	return 0;
//}

//#include <stdio.h>
//#include <string.h>
//#include <errno.h>
//int main()
//{
//	FILE* pFile;
//	pFile = fopen("unexist.ent", "r");
//	if (pFile == NULL)
//		printf("Error opening file unexist.ent: %s\n", strerror(errno));
//	return 0;
//}
#include <stdio.h>
#include <string.h>
#include <errno.h>
int main()
{
	FILE* pFile;
	pFile = fopen("unexist.ent", "r");
	if (pFile == NULL)
		perror("Error opening file unexist.ent");
	return 0;
}